home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / Micro Mail / MicroMail.jar / MainScreen.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-14  |  5.8 KB  |  237 lines

  1. import javax.microedition.lcdui.Alert;
  2. import javax.microedition.lcdui.AlertType;
  3. import javax.microedition.lcdui.Canvas;
  4. import javax.microedition.lcdui.Command;
  5. import javax.microedition.lcdui.CommandListener;
  6. import javax.microedition.lcdui.Displayable;
  7. import javax.microedition.lcdui.Font;
  8. import javax.microedition.lcdui.Graphics;
  9. import javax.microedition.lcdui.Image;
  10.  
  11. class MainScreen extends Canvas implements CommandListener {
  12.    boolean pressed;
  13.    boolean buttonReleased;
  14.    boolean showIntroScreen = true;
  15.    Font fSmall = Font.getFont(32, 0, 8);
  16.    final int maxItems = 5;
  17.    final int maxOnRow = 3;
  18.    final int xSpace = 13;
  19.    final int ySpace = 2;
  20.    final int xStart = 2;
  21.    final int yStart;
  22.    int iBottomLine;
  23.    Command aboutCommand;
  24.    Command helpCommand;
  25.    Command exitCommand;
  26.    MicroMail midlet;
  27.    Image[] images;
  28.    Image img;
  29.    int imageWidth;
  30.    int imageHeight;
  31.    int prevSelected;
  32.    int selected;
  33.  
  34.    public MainScreen(MicroMail var1) {
  35.       this.yStart = this.fSmall.getHeight() + 3;
  36.       this.aboutCommand = new Command(MicroMail.r.getText(48), 1, 1);
  37.       this.helpCommand = new Command(MicroMail.r.getText(57), 1, 2);
  38.       this.exitCommand = new Command(MicroMail.r.getText(0), 2, 3);
  39.       this.images = new Image[13];
  40.       this.midlet = var1;
  41.       this.prevSelected = 0;
  42.       this.selected = 0;
  43.       this.pressed = false;
  44.       this.buttonReleased = true;
  45.  
  46.       try {
  47.          this.img = Image.createImage("/images/MicroMail.png");
  48.          this.images[0] = Image.createImage("/images/Inbox.png");
  49.          this.images[1] = Image.createImage("/images/Outbox.png");
  50.          this.images[2] = Image.createImage("/images/Sent.png");
  51.          this.images[3] = Image.createImage("/images/Deleted.png");
  52.          this.images[4] = Image.createImage("/images/Account.png");
  53.          this.images[5] = Image.createImage("/images/AddressBook.png");
  54.          this.images[6] = Image.createImage("/images/Inbox_p.png");
  55.          this.images[7] = Image.createImage("/images/Outbox_p.png");
  56.          this.images[8] = Image.createImage("/images/Sent_p.png");
  57.          this.images[9] = Image.createImage("/images/Deleted_p.png");
  58.          this.images[10] = Image.createImage("/images/Account_p.png");
  59.          this.images[11] = Image.createImage("/images/AddressBook_p.png");
  60.          this.images[12] = Image.createImage("/images/cocoasoft.png");
  61.          this.imageWidth = this.images[0].getWidth();
  62.          this.imageHeight = this.images[0].getHeight();
  63.          this.iBottomLine = this.yStart + 1 + (this.imageHeight + 2) * 2;
  64.       } catch (Exception var2) {
  65.       }
  66.  
  67.       ((Displayable)this).setCommandListener(this);
  68.       ((Displayable)this).addCommand(this.aboutCommand);
  69.       ((Displayable)this).addCommand(this.helpCommand);
  70.       ((Displayable)this).addCommand(this.exitCommand);
  71.    }
  72.  
  73.    public void commandAction(Command var1, Displayable var2) {
  74.       if (var1 == this.aboutCommand) {
  75.          Alert var3 = new Alert("MicroMail", MicroMail.r.getText(61), (Image)null, (AlertType)null);
  76.          var3.setTimeout(-2);
  77.          MicroMail.display.setCurrent(var3, this);
  78.       } else if (var1 == this.helpCommand) {
  79.          Alert var5 = new Alert("Help", MicroMail.r.getText(60), (Image)null, (AlertType)null);
  80.          var5.setTimeout(-2);
  81.          MicroMail.display.setCurrent(var5, this);
  82.       } else if (var1 == this.exitCommand) {
  83.          try {
  84.             this.midlet.destroyApp(false);
  85.             this.midlet.notifyDestroyed();
  86.          } catch (Exception var4) {
  87.          }
  88.       }
  89.  
  90.    }
  91.  
  92.    private void drawSelected(Graphics var1) {
  93.       int var2 = this.prevSelected / 3;
  94.       int var3 = this.prevSelected % 3;
  95.       int var10000 = 2 + (this.imageWidth + 13) * var3;
  96.       var10000 = this.yStart - 1 + (this.imageHeight + 2) * var2;
  97.       var1.setColor(16777215);
  98.       var2 = this.selected / 3;
  99.       var3 = this.selected % 3;
  100.       int var4 = 1 + (this.imageWidth + 13) * var3;
  101.       int var5 = this.yStart - 1 + (this.imageHeight + 2) * var2;
  102.       var1.setColor(0);
  103.       if (!this.pressed) {
  104.          var1.drawRect(var4 - 1, var5, this.imageWidth + 2, this.imageHeight + 1);
  105.       } else {
  106.          var1.drawImage(this.images[this.selected + this.images.length / 2], var4 + 1, var5 + 1, 20);
  107.  
  108.          try {
  109.             Thread.sleep(50L);
  110.          } catch (Exception var6) {
  111.          }
  112.  
  113.          this.pressed = false;
  114.          var1.drawImage(this.images[this.selected], var4 + 1, var5 + 1, 20);
  115.          var1.drawRect(var4 - 1, var5, this.imageWidth + 2, this.imageHeight + 1);
  116.       }
  117.  
  118.    }
  119.  
  120.    public void keyPressed(int var1) {
  121.       if (!this.showIntroScreen) {
  122.          if (this.buttonReleased) {
  123.             this.prevSelected = this.selected;
  124.             int var2 = ((Canvas)this).getGameAction(var1);
  125.             switch (var2) {
  126.                case 1:
  127.                   if (this.selected - 3 > -1) {
  128.                      this.selected -= 3;
  129.                   }
  130.  
  131.                   ((Canvas)this).repaint();
  132.                   ((Canvas)this).serviceRepaints();
  133.                   break;
  134.                case 2:
  135.                   if (this.selected > 0) {
  136.                      --this.selected;
  137.                   }
  138.  
  139.                   ((Canvas)this).repaint();
  140.                   ((Canvas)this).serviceRepaints();
  141.                case 3:
  142.                case 4:
  143.                case 7:
  144.                default:
  145.                   break;
  146.                case 5:
  147.                   if (this.selected + 1 <= 5) {
  148.                      ++this.selected;
  149.                   }
  150.  
  151.                   ((Canvas)this).repaint();
  152.                   ((Canvas)this).serviceRepaints();
  153.                   break;
  154.                case 6:
  155.                   if (this.selected + 3 <= 5) {
  156.                      this.selected += 3;
  157.                   }
  158.  
  159.                   ((Canvas)this).repaint();
  160.                   ((Canvas)this).serviceRepaints();
  161.                   break;
  162.                case 8:
  163.                   this.pressed = true;
  164.                   this.buttonReleased = false;
  165.                   ((Canvas)this).repaint();
  166.                   ((Canvas)this).serviceRepaints();
  167.                   if (this.selected < 4) {
  168.                      MicroCache.refreshMessageList(this.selected + 1);
  169.                      MessageList var3 = new MessageList(this.midlet, this.selected + 1);
  170.                      MicroMail.display.setCurrent(var3);
  171.                   } else if (this.selected == 4) {
  172.                      AccountList var4 = new AccountList(this.midlet);
  173.                      MicroMail.display.setCurrent(var4);
  174.                   } else if (this.selected == 5) {
  175.                      AddressList var5 = new AddressList(this.midlet, this);
  176.                      MicroMail.display.setCurrent(var5);
  177.                   }
  178.             }
  179.  
  180.             System.gc();
  181.          }
  182.       }
  183.    }
  184.  
  185.    public void paint(Graphics var1) {
  186.       if (this.showIntroScreen) {
  187.          try {
  188.             var1.drawImage(this.img, 0, 0, 20);
  189.          } catch (Exception var4) {
  190.          }
  191.       } else {
  192.          try {
  193.             var1.setColor(16777215);
  194.             var1.fillRect(0, 0, 101, 81);
  195.             var1.setColor(0);
  196.             var1.setFont(this.fSmall);
  197.             String var2 = null;
  198.             if (!this.pressed) {
  199.                if (this.selected < 4) {
  200.                   var2 = MicroMail.r.getText(32) + MessageHandler.getBoxName(this.selected + 1);
  201.                } else if (this.selected == 4) {
  202.                   var2 = MicroMail.r.getText(15);
  203.                } else if (this.selected == 5) {
  204.                   var2 = MicroMail.r.getText(12);
  205.                }
  206.             } else {
  207.                var2 = MicroMail.r.getText(33);
  208.             }
  209.  
  210.             var1.drawString(var2, 0, 0, 20);
  211.             var1.drawLine(0, this.yStart - 4, 101, this.yStart - 4);
  212.             var1.drawImage(this.images[0], 2, this.yStart, 20);
  213.             var1.drawImage(this.images[1], 2 + this.imageWidth + 13, this.yStart, 20);
  214.             var1.drawImage(this.images[2], 2 + (this.imageWidth + 13) * 2, this.yStart, 20);
  215.             var1.drawImage(this.images[3], 2, this.yStart + this.imageHeight + 2, 20);
  216.             var1.drawImage(this.images[4], 2 + this.imageWidth + 13, this.yStart + this.imageHeight + 2, 20);
  217.             var1.drawImage(this.images[5], 2 + (this.imageWidth + 13) * 2, this.yStart + this.imageHeight + 2, 20);
  218.             var1.drawLine(0, this.iBottomLine, 101, this.iBottomLine);
  219.             var1.drawImage(this.images[12], 0, this.iBottomLine + 3, 20);
  220.             this.drawSelected(var1);
  221.          } catch (Exception var3) {
  222.          }
  223.       }
  224.  
  225.    }
  226.  
  227.    public void setButtonReleased(boolean var1) {
  228.       this.buttonReleased = var1;
  229.    }
  230.  
  231.    public void setShowIntroScreen(boolean var1) {
  232.       this.showIntroScreen = var1;
  233.       ((Canvas)this).repaint();
  234.       ((Canvas)this).serviceRepaints();
  235.    }
  236. }
  237.